package draw

func fac(n int) float64 {
	result := float64(1)
	if n == 0 {
		return result
	}
	for i := 1; i <= n; i++ {
		result *= float64(i)
	}
	return result
}

func combinate(n, k int) float64 {
	if k == 0 {
		return 1
	}
	return fac(n) / (fac(k) * (fac(n - k)))
}

// Interpolate 浮点数的线性插值
func Interpolate(x, y, t float32) float32 {
	return x + (y-x)*t
}

// Max 最大
func Max(x, y float32) float32 {
	if y > x {
		return y
	}
	return x
}

// Min 最小
func Min(x, y float32) float32 {
	if y < x {
		return y
	}
	return x
}
